import BaseEntity from './BaseEntity';
type CaseType = '咨询' | '建议' | '求助' | '执法' | '表扬';

export interface Location {
  // 区
  district: string;

  // 街道
  street: string;

  // 地址
  address: string;

  // 经度
  lat: string;

  // 纬度
  lng: string;
}

export interface Case {
  // 工单编号
  uuid: string;

  // 诉求人
  caller: string;

  // 诉求号码
  phoneNumber: number;

  // 发生日期
  date: string;

  // 诉求目的
  purpose: string;

  // 工单类型
  type: CaseType;

  // 归口
  category: string[];

  // 回访类型
  callback: boolean;

  // 位置信息
  location: Location;

  // 处理单位
  handler: string;

  // 内容
  content: string;

  // 不满意类别
  unsatisfyClass: number;
} 

export default class CaseEntity extends BaseEntity {
  // 工单编号
  uuid: string;

  // 诉求人
  caller: string;

  // 诉求号码
  phoneNumber: number;

  // 发生日期
  date: string;

  // 诉求目的
  purpose: string;

  // 工单类型
  type: CaseType;

  // 归口
  category: string[];

  // 回访类型
  callback: boolean;

  // 位置信息
  location: Location;

  // 处理单位
  handler: string;

  // 内容
  content: string;

   // 不满意类别
   unsatisfyClass: number;

  constructor(data: object) {
    super();
    this._assignProperties(data);
  }
}